package org.jctc.els.modules.biz.entity.iview;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@Data
public class IVMenu {
	/**
	 * 完整的页面路径
	 */
	@ApiModelProperty(value = "完整的页面路径")
	private String path;
	/**
	 * 菜单标题
	 */
	@ApiModelProperty(value = "菜单标题")
	private String title;
	/**
	 *  菜单副标题
	 */
	@ApiModelProperty(value = " 菜单副标题")
	private String subtitle;
	/**
	 * 选填）菜单图标，该选项仅支持 iView 内置 icon
	 */
	@ApiModelProperty(value = "选填）菜单图标，该选项仅支持 iView 内置 icon")
	private String icon;
	/**
	 * （选填）菜单自定义图标，该选项可以使用自定义的 iconfont 图标，使用该选项，不可以设置 icon 选项
	 */
	@ApiModelProperty(value = "（选填）菜单自定义图标，该选项可以使用自定义的 iconfont 图标，使用该选项，不可以设置 icon 选项")
	private String custom;

	/**
	 * （选填）菜单图标，该选项设置的是一个具体的图片文件，使用该选项，不可以设置 icon 与 custom 选项
	 */
	@ApiModelProperty(value = "（选填）菜单图标，该选项设置的是一个具体的图片文件，使用该选项，不可以设置 icon 与 custom 选项")
	private String img;
	/**
	 * 当值设置为 _blank 时，点击会在新窗口中打开链接
	 */
	@ApiModelProperty(value = "当值设置为 _blank 时，点击会在新窗口中打开链接")
	private String target;
	/**
	 * 设置为 true，则菜单折叠时显示分割线
	 */
	@ApiModelProperty(value = "设置为 true，则菜单折叠时显示分割线")
	private boolean divided;
	/**
	 * 隶属于哪一个顶部菜单，对应于 header.js 中的 name
	 */
	@ApiModelProperty(value = "隶属于哪一个顶部菜单，对应于 header.js 中的 name")
	private String header;
	/**
	 * 侧边菜单鉴权，详见鉴权篇-侧边菜单鉴权
	 */
	@ApiModelProperty(value = "侧边菜单鉴权，详见鉴权篇-侧边菜单鉴权")
	private String auth;
	/**
	 * 子菜单，支持多级嵌套
	 */
	@ApiModelProperty(value = "子菜单，支持多级嵌套")
	private List<IVMenu> children;

	public String getPath() {
		return path;
	}

	public void setPath(String path) {
		this.path = path;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

	public String getSubtitle() {
		return subtitle;
	}

	public void setSubtitle(String subtitle) {
		this.subtitle = subtitle;
	}

	public String getIcon() {
		return icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getCustom() {
		return custom;
	}

	public void setCustom(String custom) {
		this.custom = custom;
	}

	public String getImg() {
		return img;
	}

	public void setImg(String img) {
		this.img = img;
	}

	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	public boolean isDivided() {
		return divided;
	}

	public void setDivided(boolean divided) {
		this.divided = divided;
	}

	public String getHeader() {
		return header;
	}

	public void setHeader(String header) {
		this.header = header;
	}

	public String getAuth() {
		return auth;
	}

	public void setAuth(String auth) {
		this.auth = auth;
	}

	public List<IVMenu> getChildren() {
		return children;
	}

	public void setChildren(List<IVMenu> children) {
		this.children = children;
	}
}
